package com.tmt.im.wallet.controler.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

import java.io.Serial;
import java.io.Serializable;

/**
 * @Description TODO
 * @Author wuyi
 * @Date 2024/9/5 20:36
 * @Version 1.0
 **/
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Tag(name = "WalletChangeHistoryItem", description = "钱包余额变更历史列表项对象")
public class WalletChangeHistoryItem implements Serializable {

    @Serial
    private static final long serialVersionUID = -7666396577885154678L;

    @Schema(description = "历史记录ID")
    private Long id;

    @Schema(description = "钱包事件类型")
    private int moduleType;

    @Schema(description = "钱包事件ID")
    @JsonProperty("transcationId")
    private Long eventId;

    @Schema(description = "事件描述")
    private String eventDescr;

    @Schema(description = "变动金额")
    private Long amount;

    @Schema(description = "变动后钱包余额")
    private Long balance;

    @Schema(description = "变动时间")
    private Long createTime;
}
